package perucuy.dao.sqlmap;

import java.util.HashMap;
import java.util.List;

import org.apache.log4j.Logger;

import perucuy.dao.PartoDAO;
import perucuy.transfers.PartoTO;
import static perucuy.utils.Funciones.getTipoFecha;
public class SqlMapPartoDAO extends SqlMapDAO implements PartoDAO {
    
    /**
     *
     */
    
    private static Logger log = Logger.getLogger(SqlMapPartoDAO.class);
    
    private static final PartoDAO dao = new SqlMapPartoDAO();
    
    private SqlMapPartoDAO() {
        super(SqlMapDAOFactory.getSqlMap());
        log.debug("dao parto instanciado");
    }
    
    public void close() {
        log.debug("cerrando");
    }
    
    public static PartoDAO getInstance() {
        return dao;
    }
    
    public List listado() {
        return consultaEnLista("getListaParto", null);
    }
    
    public void create(PartoTO parto) {
        String id = "" + insert("insertParto", parto);
        log.debug("id: "+id);
        parto.setNCodParto(Integer.parseInt(id));
    }

    public void actualizar(PartoTO parto){
        update("update-parto", parto);
    }
    
    public PartoTO dameParto(int id){
        HashMap<String, Integer> hm = new HashMap<String, Integer>();
        hm.put("id", id);
        PartoTO t = queryForObject("getParto", hm);
        return t;
    }
    
    public int eliminarParto(int id){
        HashMap hm = new HashMap();
        hm.put("id", id);
        return delete("deleteParto", hm);
    }
    
    public List listado(int campo, String valor) {
        HashMap hm = new HashMap();
        hm.put("campo", campo);
        if (campo==2)
            hm.put("valor", getTipoFecha(valor));
        else
            hm.put("valor", valor);
        return consultaEnLista("getListaParto", hm);
    }
}
